var ValidateUtil = {
    isValid: function(field,value){
        switch(field){
            //1.邮箱 邮箱格式合法性
        case 'email':
            if (/^([A-Za-z0-9_\-\.\*])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(value)){
                if (value && value != '' && value.indexOf('@') != -1) {
                    var t = value.indexOf('@'),
                        n = value.substring(0, t);
                    return n.length > 64 || value.length > 256 ? false : true ;
                }
            }
            break;

        //2.密码 大于6位字符（不限制任何特殊字符、不必英文数字混合），区分英文大小写
        case 'password':
            if (value && value.length > 5) {
                return true;
            }
            break;

        //3.用户名
        case 'nickname':
            var nicknameRegExp = /^[\u4e00-\u9fa5]+$/;  // 只能输入中文
            if(value.length >0 && value.length < 15){
                if(nicknameRegExp.test(value)){
                    return true;
                }
            }
            break;

        //4.英文用户名
        case 'en_nickname':
            var nicknameRegExp = /^[^\u4e00-\u9fa5]{0,}$/;  // 不能输入中文
            if(value.length && nicknameRegExp.test(value)){
                return true;
            }
            return false;

        // 判断是否包含中文
        case 'contain_cn':
            return /[\u4e00-\u9fa5]/.test(value);

        //5.简介
            //1-48个字符(1-24个汉字)，首尾的空格自动清空
            //默认简介：'这个家伙很懒，什么都没有留下。'，清空简介则会自动出现这一句。
        case 'introduction':
            if(value.length < 49){
                return true;
            }
            break;

        //6.贴纸标题
            //1-48个字符（1-24个汉字），首尾的空格自动清空
            //清空标题会placeholder'无标题'，后台数据显示为空
        case 'noteTitle':
            if(value.length < 49 ){
                return true;
            }
            break;

        case 'mobile':
            var numberRegExp = /^1[3456789]\d{9}$/;  //
            if(value && value.length == 11 ){
                if(numberRegExp.test(value)){
                    return true;
                }
            }
            break;

        case 'code':
            if (value && value.length == 6) {
                return true;
            }
            break;

        case 'idcard':
            var iSum = 0;
            if (!/^\d{17}(\d|x)$/i.test(value)) {
                return false;
            }
            value = value.replace(/x$/i,'a');

            var sBirthday = value.substr(6,4) + '-' + Number(value.substr(10,2)) + '-' + Number(value.substr(12,2));
            var d = new Date(sBirthday.replace(/-/g, '/'));
            if (sBirthday != (d.getFullYear() + '-' + (d.getMonth()+1) + '-' + d.getDate())) {
                return false;
            }
            for (var i = 17; i>=0; i --) {
                iSum += (Math.pow(2,i) % 11) * parseInt(value.charAt(17 - i),11);
            }
            if(iSum % 11 != 1) {
                return false;
            }
            return true;
            break;
        // 不包含数字
        case 'no_number':
            if (value) {
                var regx = /\d+/;
                if (!regx.test(value)) {
                    return true;
                }
            }
            break;
        // 只包含数字
        case 'only_number':
            if (value) {
                var regx = /^[0-9]{1,20}$/;
                if (regx.test(value)) {
                    return true;
                }
            }
            break;
        default: return true;
        }
    }
};

export default ValidateUtil;



